﻿/*using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework.Graphics;
using SynapseGaming.LightingSystem.Core;
using Microsoft.Xna.Framework;
using SynapseGaming.LightingSystem.Lights;

namespace The_LarX
{
    public class Renderer_MultiplayerSunBurn : Renderer
    {
        private List<Actor> Actors = new List<Actor>();

        private List<RenderTarget2D> RenderTargets = new List<RenderTarget2D>();

        public List<Viewport> Viewports = new List<Viewport>();
        public List<Camera3D> Cameras = new List<Camera3D>();

        public List<FrameBuffers> FrameBuffersList = new List<FrameBuffers>();
        public List<SceneInterface> SceneInterfaces = new List<SceneInterface>();
        public List<SceneState> SceneStates = new List<SceneState>();

        public Renderer_MultiplayerSunBurn()
            : base()
        {
            SceneStates.Add(SceneState);
            SceneInterfaces.Add(SceneInterface);
        }

        public override void SubmitActor(Actor actor)
        {
            if (actor.Visible)
            {
                for (int i = 0; i < SceneInterfaces.Count; i++)
                    SceneInterfaces[i].ObjectManager.Submit(actor.SceneObject);
            }
        }
        public override void SubmitLight(object Light)
        {
            if (Light is BaseLight)
            {
                BaseLight light = Light as BaseLight;
                for (int i = 0; i < SceneInterfaces.Count; i++)
                    SceneInterfaces[i].LightManager.Submit(light);
            }
        }

        public void AdjustViewports()
        {
            if (FrameBuffersList.Count != Viewports.Count)
            {
                for (int i = 0; i < Viewports.Count; i++)
                {
                    FrameBuffers buffer = new FrameBuffers(Engine.IGraphicsDeviceService,
                        Viewports[i].Width, Viewports[i].Height,
                        DetailPreference.High, DetailPreference.High);
                    FrameBuffersList.Add(buffer);
                    FrameBuffers = buffer;

                    RenderTarget2D target = new RenderTarget2D(Engine.GraphicsDevice, Viewports[i].Width,
                        Viewports[i].Height, false, Engine.GraphicsDevice.PresentationParameters.BackBufferFormat,
                        DepthFormat.Depth24Stencil8);

                    RenderTargets.Add(target);

                    if (i != 0)
                    {
                        SceneState sceneState = new SceneState();

                        SceneInterface inteface = new SceneInterface(Engine.IGraphicsDeviceService);
                        inteface.CreateDefaultManagers(false);

                        SceneStates.Add(sceneState);
                        SceneInterfaces.Add(inteface);
                    }
                }
            }
        }

        public override void RenderActors()
        {
            Viewport initial = Engine.GraphicsDevice.Viewport;           

            for (int k = 0; k < Viewports.Count; k++)
            {
                Engine.GraphicsDevice.Clear(Color.Black);
                Engine.GraphicsDevice.Viewport = Viewports[k];                
                Engine.GraphicsDevice.SetRenderTarget(RenderTargets[k]);
                Camera = Cameras[k];
                FrameBuffers = FrameBuffersList[k];
                SceneState = SceneStates[k];
                SceneInterface = SceneInterfaces[k];

                base.RenderActors();

                Engine.GraphicsDevice.SetRenderTarget(null);
            }

            Engine.GraphicsDevice.Viewport = initial;

            Engine.GraphicsDevice.Clear(Color.Black);
            for (int i = 0; i < RenderTargets.Count; i++)
                Engine.RenderManager.Draw(RenderTargets[i], new Vector2(Viewports[i].X, Viewports[i].Y), null, false);
        }
    }
}*/
